[INFO] cloning repository https://github.com/jasnross/agentspec
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/jasnross/agentspec" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjasnross%2Fagentspec", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjasnross%2Fagentspec'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 44b2ed4a6790a057079ad93089cfd1e1cc2be86b
[INFO] testing jasnross/agentspec against try#b8e88e5ddf5521a9f43ee3f62a702388c713e4bb for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fjasnross%2Fagentspec" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/jasnross/agentspec
[INFO] finished tweaking git repo https://github.com/jasnross/agentspec
[INFO] tweaked toml for git repo https://github.com/jasnross/agentspec written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/jasnross/agentspec on toolchain b8e88e5ddf5521a9f43ee3f62a702388c713e4bb
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/jasnross/agentspec already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] afea9b20bed76a6d245cca4ac6ad6a58c52edfb5e89967a61ee1e878dac1da98
[INFO] running `Command { std: "docker" "start" "-a" "afea9b20bed76a6d245cca4ac6ad6a58c52edfb5e89967a61ee1e878dac1da98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "afea9b20bed76a6d245cca4ac6ad6a58c52edfb5e89967a61ee1e878dac1da98", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "afea9b20bed76a6d245cca4ac6ad6a58c52edfb5e89967a61ee1e878dac1da98", kill_on_drop: false }`
[INFO] [stdout] afea9b20bed76a6d245cca4ac6ad6a58c52edfb5e89967a61ee1e878dac1da98
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 938a735c9ec560436d8a8c6c18ad97785a6c8084746bb1fe45ca18cfe81bb3e4
[INFO] running `Command { std: "docker" "start" "-a" "938a735c9ec560436d8a8c6c18ad97785a6c8084746bb1fe45ca18cfe81bb3e4", kill_on_drop: false }`
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling bit-vec v0.8.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling borrow-or-share v0.2.4
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling bit-set v0.8.0
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling serde_yml v0.0.12
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling outref v0.5.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling fluent-uri v0.3.2
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling uuid v1.22.0
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling vsimd v0.8.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling yaml-rust2 v0.10.4
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling email_address v0.2.9
[INFO] [stderr]    Compiling uuid-simd v0.8.0
[INFO] [stderr]    Compiling libyml v0.0.5
[INFO] [stderr]    Compiling strum_macros v0.28.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling memo-map v0.3.3
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling num-cmp v0.1.0
[INFO] [stderr]    Compiling gray_matter v0.3.2
[INFO] [stderr]    Compiling minijinja v2.18.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling clap_complete v4.6.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling fraction v0.15.3
[INFO] [stderr]    Compiling serde_with_macros v3.18.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling serde_with v3.18.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling strum v0.28.0
[INFO] [stderr]    Compiling referencing v0.28.3
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling fancy-regex v0.14.0
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling jsonschema v0.28.3
[INFO] [stderr]    Compiling agentspec v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 49.77s
[INFO] running `Command { std: "docker" "inspect" "938a735c9ec560436d8a8c6c18ad97785a6c8084746bb1fe45ca18cfe81bb3e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "938a735c9ec560436d8a8c6c18ad97785a6c8084746bb1fe45ca18cfe81bb3e4", kill_on_drop: false }`
[INFO] [stdout] 938a735c9ec560436d8a8c6c18ad97785a6c8084746bb1fe45ca18cfe81bb3e4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 12e27e8edaaf97d773fefeb7ede7d0c36ede4748045c5b1565e52bf62f6f1cbb
[INFO] running `Command { std: "docker" "start" "-a" "12e27e8edaaf97d773fefeb7ede7d0c36ede4748045c5b1565e52bf62f6f1cbb", kill_on_drop: false }`
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling jsonschema v0.28.3
[INFO] [stderr]    Compiling agentspec v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 14.06s
[INFO] running `Command { std: "docker" "inspect" "12e27e8edaaf97d773fefeb7ede7d0c36ede4748045c5b1565e52bf62f6f1cbb", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "12e27e8edaaf97d773fefeb7ede7d0c36ede4748045c5b1565e52bf62f6f1cbb", kill_on_drop: false }`
[INFO] [stdout] 12e27e8edaaf97d773fefeb7ede7d0c36ede4748045c5b1565e52bf62f6f1cbb
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b8e88e5ddf5521a9f43ee3f62a702388c713e4bb" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] e6e3f3ddbdfe901b6f5478e394032017faac0c4e598038ca1ae6764f9207a22c
[INFO] running `Command { std: "docker" "start" "-a" "e6e3f3ddbdfe901b6f5478e394032017faac0c4e598038ca1ae6764f9207a22c", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/agentspec-da2eab7818ea54d1)
[INFO] [stdout] 
[INFO] [stdout] running 113 tests
[INFO] [stdout] test adapters::claude::tests::test_adapt_agent_with_prefix ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_agent_content_prefix_does_not_affect_frontmatter ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_tool_subagent_maps_to_agent ... ok
[INFO] [stdout] test adapters::claude::tests::test_body_tool_name_skill_maps_to_skill ... ok
[INFO] [stdout] test adapters::claude::tests::test_body_tool_name_subagent_maps_to_agent ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_tool_skill_maps_to_skill ... ok
[INFO] [stdout] test adapters::claude::tests::test_body_tool_name_question_maps_to_ask_user_question ... ok
[INFO] [stdout] test adapters::claude::tests::test_model_facing_name_falls_back_to_prefix ... ok
[INFO] [stdout] test adapters::claude::tests::test_model_facing_name_uses_content_prefix ... ok
[INFO] [stdout] test adapters::cursor::tests::test_adapt_agent_output_format ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_rule_with_prefix ... ok
[INFO] [stdout] test adapters::claude::tests::test_body_tool_name_tasks_maps_to_todo_write ... ok
[INFO] [stdout] test adapters::cursor::tests::test_adapt_agent_with_prefix ... ok
[INFO] [stdout] test adapters::cursor::tests::test_adapt_rule_with_prefix ... ok
[INFO] [stdout] test adapters::cursor::tests::test_adapt_skill_with_prefix ... ok
[INFO] [stdout] test adapters::cursor::tests::test_body_tool_name_full_mapping ... ok
[INFO] [stdout] test adapters::opencode::tests::test_body_tool_name_skill_identity ... ok
[INFO] [stdout] test adapters::opencode::tests::test_adapt_skill_command_with_prefix_uses_subdirectory ... ok
[INFO] [stdout] test adapters::opencode::tests::test_body_tool_name_subagent_maps_to_task ... ok
[INFO] [stdout] test adapters::opencode::tests::test_body_tool_name_tasks_maps_to_todowrite ... ok
[INFO] [stdout] test adapters::opencode::tests::test_build_tool_map_keys_are_sorted ... ok
[INFO] [stdout] test plan::tests::test_expand_tilde_absolute_unchanged ... ok
[INFO] [stdout] test plan::tests::test_expand_tilde_replaces_home ... ok
[INFO] [stdout] test plan::tests::test_file_kind_display ... ok
[INFO] [stdout] test plan::tests::test_file_kinds_claude ... ok
[INFO] [stdout] test plan::tests::test_file_kinds_opencode_all_four ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_agent_output_format ... ok
[INFO] [stdout] test plan::tests::test_plan_types_construct ... ok
[INFO] [stdout] test adapters::claude::tests::test_adapt_agent_tools_are_sorted ... ok
[INFO] [stdout] test plan::tests::test_project_dest_dir_cursor_skills ... ok
[INFO] [stdout] test plan::tests::test_user_dest_dir_claude_agents ... ok
[INFO] [stdout] test adapters::opencode::tests::test_adapt_agent_output_format ... ok
[INFO] [stdout] test adapters::opencode::tests::test_patch_no_prior_config_creates_file ... ok
[INFO] [stdout] test compile::tests::test_content_prefix_returns_explicit_value ... ok
[INFO] [stdout] test compile::tests::test_content_prefix_returns_none_when_both_none ... ok
[INFO] [stdout] test adapters::opencode::tests::test_patch_empty_rules_dir_removes_agentspec_entries ... ok
[INFO] [stdout] test adapters::opencode::tests::test_patch_preserves_user_entries ... ok
[INFO] [stdout] test compile::tests::test_content_prefix_falls_back_to_prefix_with_hyphen ... ok
[INFO] [stdout] test adapters::opencode::tests::test_patch_replaces_stale_agentspec_entries ... ok
[INFO] [stdout] test provider::tests::test_display_name_title_case ... ok
[INFO] [stdout] test specs::tests::test_ignore_matcher_double_star_matches_at_any_depth ... ok
[INFO] [stdout] test specs::tests::test_ignore_matcher_empty_matches_nothing ... ok
[INFO] [stdout] test adapters::opencode::tests::test_patch_dry_run_no_file_written ... ok
[INFO] [stdout] test specs::tests::test_ignore_matcher_compile_error_names_offending_pattern ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_ignored_extra_md_recorded_exactly_once ... ok
[INFO] [stdout] test specs::tests::test_ignore_matcher_returns_lowest_matching_index ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_multiple_md_files ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_no_md_file ... ok
[INFO] [stdout] test specs::tests::test_load_agent_specs ... ok
[INFO] [stdout] test specs::tests::test_ignore_matcher_slashless_pattern_is_top_level_only ... ok
[INFO] [stdout] test specs::tests::test_load_agent_specs_parse_error_includes_file_path ... ok
[INFO] [stdout] test specs::tests::test_load_agent_specs_skips_ignored_file ... ok
[INFO] [stdout] test compile::tests::test_file_prefix_unaffected_by_content_prefix ... ok
[INFO] [stdout] test specs::tests::test_load_agent_specs_with_tags ... ok
[INFO] [stdout] test specs::tests::test_load_report_pattern_hits_zero_for_unused_pattern ... ok
[INFO] [stdout] test templating::context::tests::test_from_specs_for_provider_claude_with_content_prefix ... ok
[INFO] [stdout] test templating::context::tests::test_from_specs_for_provider_no_prefix ... ok
[INFO] [stdout] test specs::tests::test_nonexistent_dir_returns_empty ... ok
[INFO] [stdout] test templating::context::tests::test_from_specs_for_provider_opencode_skills_unprefixed ... ok
[INFO] [stdout] test templating::context::tests::test_no_tags_produces_empty_vec ... ok
[INFO] [stdout] test specs::tests::test_should_ignore_path_empty_matcher_short_circuits ... ok
[INFO] [stdout] test templating::context::tests::test_none_description_produces_empty_string ... ok
[INFO] [stdout] test templating::context::tests::test_from_specs_for_provider_opencode_with_content_prefix ... ok
[INFO] [stdout] test templating::context::tests::test_tags_exposed_in_spec_entry ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_truly_missing_md_still_errors ... ok
[INFO] [stdout] test templating::fragments::tests::test_include_with_variables ... ok
[INFO] [stdout] test templating::fragments::tests::test_filter_indent_with_variables ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_skips_ignored_supporting_file ... ok
[INFO] [stdout] test templating::fragments::tests::test_filter_indent_with_include ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_whole_skill_absent_when_md_ignored ... ok
[INFO] [stdout] test templating::fragments::tests::test_fragments_can_access_specs_variable ... ok
[INFO] [stdout] test templating::fragments::tests::test_missing_fragment_errors ... ok
[INFO] [stdout] test specs::tests::test_ignore_matcher_pattern_accessor ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_with_supporting_file ... ok
[INFO] [stdout] test templating::fragments::tests::test_keyed_access_resolves_prefixed_name ... ok
[INFO] [stdout] test templating::fragments::tests::test_nested_includes ... ok
[INFO] [stdout] test templating::fragments::tests::test_no_variable_usage_unchanged ... ok
[INFO] [stdout] test templating::context::tests::test_from_specs_populates_keyed_maps ... ok
[INFO] [stdout] test templating::fragments::tests::test_load_fragments_nonexistent_dir ... ok
[INFO] [stdout] test templating::context::tests::test_from_specs_groups_and_sorts ... ok
[INFO] [stdout] test templating::fragments::tests::test_resolve_fragments_no_syntax ... ok
[INFO] [stdout] test templating::fragments::tests::test_specs_agents_length ... ok
[INFO] [stdout] test templating::fragments::tests::test_tool_resolves_for_opencode ... ok
[INFO] [stdout] test templating::fragments::tests::test_specs_agents_sorted_names ... ok
[INFO] [stdout] test validate::tests::test_normalize_agent ... ok
[INFO] [stdout] test templating::fragments::tests::test_tool_resolves_inside_included_fragment ... ok
[INFO] [stdout] test templating::fragments::tests::test_tool_unknown_name_errors ... ok
[INFO] [stdout] test templating::fragments::tests::test_specs_all_type_field ... ok
[INFO] [stdout] test templating::fragments::tests::test_load_fragments ... ok
[INFO] [stdout] test templating::fragments::tests::test_tool_resolves_for_cursor ... ok
[INFO] [stdout] test validate::tests::test_normalize_agent_no_tags ... ok
[INFO] [stdout] test validate::tests::test_normalize_agent_tags ... ok
[INFO] [stdout] test validate::tests::test_normalize_execution_preset ... ok
[INFO] [stdout] test validate::tests::test_normalize_rule ... ok
[INFO] [stdout] test validate::tests::test_semantics_clean ... ok
[INFO] [stdout] test validate::tests::test_semantics_empty_body ... ok
[INFO] [stdout] test validate::tests::test_semantics_duplicate_id ... ok
[INFO] [stdout] test validate::tests::test_semantics_rule_passes_all_checks ... ok
[INFO] [stdout] test validate::tests::test_semantics_known_preset_no_error ... ok
[INFO] [stdout] test validate::tests::test_semantics_skill_not_invocable ... ok
[INFO] [stdout] test validate::tests::test_semantics_underscore_collision_cross_type_no_error ... ok
[INFO] [stdout] test validate::tests::test_semantics_underscore_collision_same_type ... ok
[INFO] [stdout] test validate::tests::test_semantics_unknown_preset ... ok
[INFO] [stdout] test validate::tests::test_semantics_underscore_no_collision_single_spec ... ok
[INFO] [stdout] test validate::tests::test_normalize_skill ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_prunes_skills_root ... ok
[INFO] [stdout] test templating::context::tests::test_from_specs_for_provider_claude_with_prefix ... ok
[INFO] [stdout] test templating::fragments::tests::test_tool_resolves_for_claude ... ok
[INFO] [stdout] test templating::fragments::tests::test_resolve_fragments_with_include ... ok
[INFO] [stdout] test templating::fragments::tests::test_simple_include ... ok
[INFO] [stdout] test templating::fragments::tests::test_tool_passes_through_canonical_when_provider_is_none ... ok
[INFO] [stdout] test templating::context::tests::test_all_contains_all_types ... ok
[INFO] [stdout] test specs::tests::test_load_skill_specs_prunes_ignored_skill_dir ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 113 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.07s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/agentspec-979340f07bcccbaf)
[INFO] [stdout] 
[INFO] [stdout] running 66 tests
[INFO] [stdout] test config::tests::test_cli_sync_intent_dest_with_target_is_sufficient ... ok
[INFO] [stdout] test config::tests::test_cli_sync_intent_mode_path_without_dest_is_insufficient ... ok
[INFO] [stdout] test config::tests::test_cli_sync_intent_mode_project_with_target_is_sufficient ... ok
[INFO] [stdout] test config::tests::test_cli_sync_intent_mode_user_with_target_is_sufficient ... ok
[INFO] [stdout] test config::tests::test_cli_sync_intent_requires_explicit_target_selection ... ok
[INFO] [stdout] test config::tests::test_default_config ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_cli_dest_implies_path_mode ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_cli_prefix_sets_when_no_base ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_applies_base_config ... ok
[INFO] [stdout] test config::tests::test_discover_rejects_preset_shorthand_string ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_cli_prefix_overrides_base ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_cli_force_sets_overwrite ... ok
[INFO] [stdout] test config::tests::test_discover_with_presets ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_cli_empty_prefix_normalized_to_none ... ok
[INFO] [stdout] test config::tests::test_discover_with_toml ... ok
[INFO] [stdout] test config::tests::test_discover_without_toml ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_cli_content_prefix_overrides_config ... ok
[INFO] [stderr] 
[INFO] [stdout] test config::tests::test_resolve_sync_target_content_prefix_defaults_to_none ... ok
[INFO] [stderr] Provider  Kind    Backed Up
[INFO] [stdout] test config::tests::test_resolve_sync_target_cli_overrides_win ... ok
[INFO] [stderr] ────────  ──────  ─────────
[INFO] [stdout] test config::tests::test_spec_compile_ignore_matcher_propagates_pattern_error ... ok
[INFO] [stderr] Claude    skills          1
[INFO] [stdout] test config::tests::test_spec_compile_ignore_matcher_empty_by_default ... ok
[INFO] [stderr] 
[INFO] [stdout] test config::tests::test_spec_ignore_rejects_non_string_element ... ok
[INFO] [stderr] 1 destination changed
[INFO] [stdout] test config::tests::test_spec_ignore_defaults_to_empty ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_content_prefix_from_config ... ok
[INFO] [stdout] test config::tests::test_validated_sync_target_errors_without_config_or_cli ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_default_when_no_sync_configured ... ok
[INFO] [stderr] 
[INFO] [stdout] test config::tests::test_resolve_sync_target_empty_content_prefix_normalized_to_none ... ok
[INFO] [stderr] Provider  Kind    Would Create
[INFO] [stdout] test config::tests::test_discover_parse_error_includes_field_path ... ok
[INFO] [stderr] ────────  ──────  ────────────
[INFO] [stdout] test config::tests::test_spec_ignore_round_trips_from_toml ... ok
[INFO] [stderr] Claude    skills             1
[INFO] [stdout] test config::tests::test_discover_invalid_sync_field_errors ... ok
[INFO] [stderr] 
[INFO] [stdout] test emit::tests::test_batch_stats_is_unchanged_only ... ok
[INFO] [stderr] 1 destination would change
[INFO] [stdout] test config::tests::test_validated_sync_target_succeeds_with_cli_only ... ok
[INFO] [stderr] 
[INFO] [stdout] test config::tests::test_has_explicit_sync_config_detects_base ... ok
[INFO] [stderr] Provider  Kind    Created
[INFO] [stdout] test emit::tests::test_manifest_tracked_collision_errors_without_overwrite ... ok
[INFO] [stderr] ────────  ──────  ───────
[INFO] [stdout] test emit::tests::test_render_all_unchanged_non_verbose ... ok
[INFO] [stderr] Claude    skills        1
[INFO] [stderr] 
[INFO] [stderr] 1 destination changed
[INFO] [stderr] 
[INFO] [stderr] Provider  Kind    Updated
[INFO] [stderr] ────────  ──────  ───────
[INFO] [stderr] Claude    skills        1
[INFO] [stderr] 
[INFO] [stderr] 1 destination changed
[INFO] [stderr] 
[INFO] [stderr] Provider  Kind  
[INFO] [stderr]   Created
[INFO] [stderr] ────────  ──────  ───────
[INFO] [stderr] Claude    skills        1
[INFO] [stderr] 
[INFO] [stderr] 1 destination changed
[INFO] [stderr] 
[INFO] [stderr] Provider  Kind    Removed
[INFO] [stderr] ────────  ──────  ───────
[INFO] [stderr] Claude    skills        1
[INFO] [stderr] 
[INFO] [stderr] 1 destination changed
[INFO] [stderr] Provider  Kind    Created
[INFO] [stderr] ────────  ──────  ───────
[INFO] [stderr] Claude    skills        1
[INFO] [stderr] Provider  Kind    Created
[INFO] [stderr] ────────  ──────  ───────
[INFO] [stderr] Claude    skills        1
[INFO] [stderr] 
[INFO] [stderr] 1 destination changed
[INFO] [stderr] 
[INFO] [stderr] 1 destination unchanged
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stderr] 1 destination changed
[INFO] [stdout] test emit::tests::test_manifest_tracked_backs_up_unmanaged_file_with_force ... ok
[INFO] [stdout] test emit::tests::test_render_column_width_adapts ... ok
[INFO] [stdout] test emit::tests::test_render_dry_run_headers ... ok
[INFO] [stdout] test emit::tests::test_render_mixed_actions ... ok
[INFO] [stdout] test emit::tests::test_manifest_tracked_dry_run_no_mutations ... ok
[INFO] [stdout] test emit::tests::test_render_verbose_shows_unchanged ... ok
[INFO] [stdout] test emit::tests::test_render_single_action_type ... ok
[INFO] [stdout] test emit::tests::test_render_separator_width_matches_header ... ok
[INFO] [stdout] test emit::tests::test_write_batch_returns_none_for_clean_slate ... ok
[INFO] [stdout] test emit::tests::test_write_and_verify ... ok
[INFO] [stdout] test emit::tests::test_manifest_tracked_updated_managed_file ... ok
[INFO] [stdout] test emit::tests::test_manifest_tracked_stale_cleanup ... ok
[INFO] [stdout] test config::tests::test_resolve_sync_target_empty_prefix_normalized_to_none ... ok
[INFO] [stdout] test emit::tests::test_manifest_tracked_creates_file_and_writes_manifest ... ok
[INFO] [stdout] test emit::tests::test_manifest_tracked_unchanged_managed_file ... ok
[INFO] [stdout] test sync::manifest::tests::test_load_absent_returns_default ... ok
[INFO] [stdout] test sync::tests::test_resolve_dest_path_missing_dir_errors ... ok
[INFO] [stdout] test sync::tests::test_resolve_dest_project_cursor_skills ... ok
[INFO] [stdout] test sync::tests::test_resolve_dest_user_claude_agents ... ok
[INFO] [stdout] test sync::tests::test_files_for_kind_partitions_by_kind_and_provider ... ok
[INFO] [stdout] test emit::tests::test_write_batch_returns_some_for_manifest_tracked ... ok
[INFO] [stdout] test sync::manifest::tests::test_load_ignores_unknown_entry_fields ... ok
[INFO] [stdout] test sync::manifest::tests::test_save_and_load_roundtrip ... ok
[INFO] [stdout] test emit::tests::test_write_executable_permission ... ok
[INFO] [stdout] test emit::tests::test_write_cleans_provider_dir_first ... ok
[INFO] [stdout] test sync::tests::test_resolve_dest_path_explicit_dir ... ok
[INFO] [stdout] test tests::test_format_ignored_listing_drops_pruned_parenthetical_when_zero ... ok
[INFO] [stdout] test sync::tests::test_sync_plan_produces_correct_writes_and_patches ... ok
[INFO] [stdout] test tests::test_format_ignored_listing_plural_pruned ... ok
[INFO] [stdout] test tests::test_format_ignored_listing_renders_file_and_pruned_entries ... ok
[INFO] [stdout] test tests::test_format_ignored_listing_empty_returns_no_lines ... ok
[INFO] [stderr]      Running tests/pipeline.rs (/opt/rustwide/target/debug/deps/pipeline-ecf20e29706235f4)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 66 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 32 tests
[INFO] [stdout] test test_compile_generates_expected_files ... ok
[INFO] [stdout] test test_compile_ignores_bats_files ... ok
[INFO] [stdout] test test_compile_resolves_tool_per_provider ... ok
[INFO] [stdout] test test_sync_cli_content_prefix_overrides_config ... ok
[INFO] [stdout] test test_compile_prunes_ignored_subtree ... ok
[INFO] [stdout] test test_sync_cli_prefix_overrides_config ... ok
[INFO] [stdout] test test_sync_content_prefix_without_file_prefix ... ok
[INFO] [stdout] test test_sync_opencode_commands_prefix_subdir ... ok
[INFO] [stdout] test test_sync_prefix_and_content_prefix ... ok
[INFO] [stdout] test test_sync_dest_without_provider_errors ... ok
[INFO] [stdout] test test_compile_silent_without_verbose ... ok
[INFO] [stdout] test test_sync_no_config_mode_user_without_provider_errors ... ok
[INFO] [stdout] test test_sync_provider_unconfigured_with_dest_allowed ... ok
[INFO] [stdout] test test_compile_verbose_lists_ignored ... ok
[INFO] [stdout] test test_sync_provider_unconfigured_errors_without_dest ... ok
[INFO] [stdout] test test_sync_cli_prefix_without_config_prefix ... ok
[INFO] [stdout] test test_compile_script_is_executable ... ok
[INFO] [stdout] test test_sync_dry_run_lists_ignored ... ok
[INFO] [stdout] test test_validate_fixture ... ok
[INFO] [stdout] test test_sync_prefix ... ok
[INFO] [stdout] test test_validate_warns_unused_pattern ... ok
[INFO] [stdout] test test_sync_prefix_resolves_spec_references ... ok
[INFO] [stdout] test test_sync_provider_unconfigured_with_mode_project_allowed ... ok
[INFO] [stdout] test test_sync_without_target_only_syncs_configured_providers ... ok
[INFO] [stdout] test test_sync_provider_unconfigured_with_mode_user_allowed ... ok
[INFO] [stdout] test test_compile_nonexistent_spec_reference_errors ... ok
[INFO] [stdout] test test_compile_no_ignore_field_still_works ... ok
[INFO] [stdout] test test_sync_invalid_base_sync_config_surfaces_parse_error ... ok
[INFO] [stdout] test test_validate_lists_ignored_paths ... ok
[INFO] [stdout] test test_sync_opencode_spec_references_agent_prefixed ... ok
[INFO] [stdout] test test_sync_no_config_errors_with_guidance ... ok
[INFO] [stdout] test test_validate_malformed_ignore_pattern_errors ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests agentspec
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e6e3f3ddbdfe901b6f5478e394032017faac0c4e598038ca1ae6764f9207a22c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e6e3f3ddbdfe901b6f5478e394032017faac0c4e598038ca1ae6764f9207a22c", kill_on_drop: false }`
[INFO] [stdout] e6e3f3ddbdfe901b6f5478e394032017faac0c4e598038ca1ae6764f9207a22c
